1744B - Even-Odd Increments - CodeForces Solution


implementation math

Please click on ads to support us..

Python Code:

t = int(input())
for _ in range(t):
    n, q = map(int, input().split())
    final_sum = 0
    num_even = 0
    num_odd = 0

    for x in (input().split()):
        x = int(x)
        final_sum += x
        if x % 2:
            num_odd += 1

    num_even = n - num_odd

    for i in range(q):
        type, to_add = map(int, input().split())
        if type == 0:
            final_sum += to_add * num_even
            if to_add % 2:
                num_odd += num_even
                num_even = 0
        else:
            final_sum += to_add * num_odd
            if to_add % 2:
                num_even += num_odd
                num_odd = 0
                
        print(final_sum)

C++ Code:

#include <bits/stdc++.h>

using namespace std;


int main()
{
    int t;
    cin >> t;
    while(t--)
    {
        int n, q, ch = 0, nch = 0;
        long long sum = 0;
        cin >> n >> q;
        vector<int> a;
        vector<int> type;
        vector<int> k;
        for(int i = 0; i < n; i++)
        {
            int x;
            cin >> x;
            a.push_back(x);
            sum += x;
        }
        for(int i = 0; i < q; i++)
        {
            int x, y;
            cin >> x >> y;
            type.push_back(x);
            k.push_back(y);
        }
        for(int i = 0; i < n; i++)
        {
            if (a[i] % 2 == 0) ch++;
            else nch++;
        }
        for(int i = 0; i < q; i++)
        {
            if(type[i] == 1) sum += nch * k[i];
            else sum += ch * k[i];
            if(k[i] % 2 != 0 && type[i] == 0)  {nch += ch; ch = 0;}
            if(k[i] % 2 != 0 && type[i] == 1)  {ch += nch; nch = 0;}
            cout << sum << endl;
        }
    }
}


Comments

Submit
0 Comments
More Questions

72. Edit Distance
563. Binary Tree Tilt
1306. Jump Game III
236. Lowest Common Ancestor of a Binary Tree
790. Domino and Tromino Tiling
878. Nth Magical Number
2099. Find Subsequence of Length K With the Largest Sum
1608A - Find Array
416. Partition Equal Subset Sum
1446. Consecutive Characters
1618A - Polycarp and Sums of Subsequences
1618B - Missing Bigram
938. Range Sum of BST
147. Insertion Sort List
310. Minimum Height Trees
2110. Number of Smooth Descent Periods of a Stock
2109. Adding Spaces to a String
2108. Find First Palindromic String in the Array
394. Decode String
902. Numbers At Most N Given Digit Set
221. Maximal Square
1200. Minimum Absolute Difference
1619B - Squares and Cubes
1619A - Square String
1629B - GCD Arrays
1629A - Download More RAM
1629C - Meximum Array
1629D - Peculiar Movie Preferences
1629E - Grid Xor
1629F1 - Game on Sum (Easy Version)